home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 20 / Cream of the Crop 20 (Terry Blount) (1996).iso / bbs / cddk9606.zip / HEADERS.ARJ / RA.INT < prev    next >
Text File  |  1996-06-14  |  8KB  |  203 lines

  1.  
  2. { ───────────────────────────────────────────────────────────────────────── }
  3. {  RA: Minimal RemoteAccess 2.x Support                                     }
  4. {  Copyright 1996 David Pinch ∙ All Rights Reserved Worldwide               }
  5. { ───────────────────────────────────────────────────────────────────────── }
  6.  
  7. { STRUCT.202 and STRUCT.250 are copyrighted products of Andrew Milner and
  8.   Wantree Development.  These files are not included with Concerto, but can
  9.   be obtained from Erebus BBS, Wantree Development, or any official
  10.   RemoteAccess support site. }
  11.  
  12. { $DEFINE RA202} { Delete the first space to force support for RA 2.02.     }
  13.  
  14.  
  15. UNIT RA;
  16.  
  17. {$B-} { . . . . . . . . . . . . . . . . . . . . Shortcut boolean evaluation }
  18. {$F+} { . . . . . . . . . . . . . . . . . . . .  Force far calls for safety }
  19. {$I-} { . . . . . . . . . . . . . . . . . . . Disable input/output checking }
  20. {$O+} { . . . . . . . . . . . . . . . . . . Allow this unit to be overlayed }
  21. {$Q-} { . . . . . . . . . . . . . .  Do not generate overflow-checking code }
  22. {$R-} { . . . . . . . . . . . . . . . . Do not generate range-checking code }
  23. {$S-} { . . . . . . . . . . . . . . . . Do not generate stack-checking code }
  24. {$X+} { . . . . . . . . . . . Extended syntax for pChars and function calls }
  25.  
  26. INTERFACE
  27.  
  28. USES
  29.   Objects;
  30.  
  31. {$IFDEF RA202}
  32.   {$I STRUCT.202}
  33. {$ELSE}
  34.   {$I STRUCT.250}
  35. {$ENDIF}
  36.  
  37. CONST
  38.  
  39.   { EVENTrecord.Status (EVENTS.RA is generally located in the system dir.   }
  40.  
  41.   EventDeleted      = $00; { . . . . . . . . . . The event has been deleted }
  42.   EventEnabled      = $01; { . . . . . . . .  The event is currently active }
  43.   EventDisabled     = $02; { . . . . . The event is not active at this time }
  44.  
  45.  
  46.   { FILESHDRrecord.Attrib (\RA\FILEBASE\HDR\FDB*.HDR)                       }
  47.  
  48.   FileDeleted       = $01; { -------1 } { . . . . . . . . Marked as deleted }
  49.   FileUnlisted      = $02; { ------1- } { . . . . . . . . . . . .  Unlisted }
  50.   FileFree          = $04; { -----1-- } { . .  Does not affect ratio & cost }
  51.   FileUnavailable   = $08; { ----1--- } { . . . . . . Do not allow download }
  52.   FileLocked        = $10; { ---1---- } { . . . . . . . .  Do not kill file }
  53.   FileMissing       = $20; { --1----- } { . . . . . . .  Missing or offline }
  54.   FileNoTime        = $40; { -1------ } { . . . . . .  No time restrictions }
  55.  
  56.  
  57.   { LASTCALLrecord.Attribyte (LASTCALL.BBS is in the system directory)      }
  58.  
  59.   LastCallHidden    = $01; { -------1 } { . . . . . . . . .  Hidden account }
  60.  
  61.  
  62.   { MNUrecord.TermAttrib                                                    }
  63.  
  64.   MenuANSI          = $01; { -------1 } { . . . . . . . . . . ANSI required }
  65.   MenuAVATAR        = $02; { ------1- } { . . . . . . . . . AVATAR required }
  66.   MenuRIP           = $04; { -----1-- } { . . . . . . . . . .  RIP required }
  67.  
  68.  
  69.   { MESSAGErecord.Attribute (MESSAGES.RA is in the system directory)        }
  70.  
  71.   MsgEnableEchoInfo = $01; { -------1 } { . . .  Write echomail information }
  72.   MsgCombined       = $02; { ------1- } { . . . . .  Permit combined access }
  73.   MsgAttaches       = $04; { -----1-- } { . . . . . .  Permit file attaches }
  74.   MsgAliases        = $08; { ----1--- } { . . . . . . . . .  Permit aliases }
  75.   MsgSoftCRs        = $10; { ---1---- } { . .  Treat soft CRs as characters }
  76.   MsgForceHandles   = $20; { --1----- } { . . . . Force posting with handle }
  77.   MsgDeletes        = $40; { -1------ } { .  Allow users to delete messages }
  78.   MsgJAM            = $80; { 1------- } { . . . . . . .  Area is a JAM area }
  79.  
  80.  
  81.   { MESSAGErecord.Attribute2 (MESSAGES.RA is in the system directory)       }
  82.  
  83.   MsgAllGroups      = $01; { -------1 } { . . Include in all message groups }
  84.  
  85.  
  86.   { USERSrecord.Attribute (USERS.BBS is in the message-base directory)      }
  87.  
  88.   User1Deleted      = $01; { -------1 } { . . . . . . . . . . . . . Deleted }
  89.   User1ClrScr       = $02; { ------1- } { . . . . . . Screen clearing codes }
  90.   User1MorePrompt   = $04; { -----1-- } { . . . . . . . . .  Screen pausing }
  91.   User1ANSI         = $08; { ----1--- } { . . . . . . . . ANSI capabilities }
  92.   User1NoKill       = $10; { ---1---- } { . . . . . . . . . . Do not delete }
  93.   User1XferPriority = $20; { --1----- } { . . . . . . . . Transfer priority }
  94.   User1FSEditor     = $40; { -1------ } { . . . . . . .  Full-screen editor }
  95.   User1Quiet        = $80; { 1------- } { . . . . . . . . .  Do not disturb }
  96.  
  97.  
  98.   { USERSrecord.Attribute2 (USERS.BBS is in the message-base directory)     }
  99.  
  100.   User2HotKeys      = $01; { -------1 } { . . . . . . . . . . . .  Hot keys }
  101.   User2AVATAR       = $02; { ------1- } { . . . . . . . . . . . .  AVATAR/0 }
  102.   User2FSViewer     = $04; { -----1-- } { . . .  Full-screen message viewer }
  103.   User2Hidden       = $08; { ----1--- } { . . . . . . Hidden from user list }
  104.   User2PagePriority = $10; { ---1---- } { . . . . . . . . . Paging priority }
  105.   User2NoEchomail   = $20; { --1----- } { . . . No echomail in mailbox scan }
  106.   User2Guest        = $40; { -1------ } { . . . . . . . . . . Guest account }
  107.   User2PostBill     = $80; { 1------- } { . . . . . .  Post-billing enabled }
  108.  
  109.  
  110.   { USERSrecord.Attribute3 (USERS.BBS is in the message-base directory)     }
  111.  
  112.   User3ScanSelected = $01; { -------1 } { . . . .  Scan selected areas only }
  113.  
  114.  
  115.   { USERONrecord.Status (USERON.BBS is in the system directory)             }
  116.  
  117.   UserOnBrowsing    = 0;                { . . . . . . .  Browsing in a menu }
  118.   UserOnTransfer    = 1;                { . . . . . . .  Transfering a file }
  119.   UserOnMessage     = 2;                { . . . .  Reading/posting messages }
  120.   UserOnDoor        = 3;                { . . . . . . Door/external utility }
  121.   UserOnChat        = 4;                { . . . . . Chatting with the sysop }
  122.   UserOnQuestion    = 5;                { . . . . . . . . . .  Questionaire }
  123.   UserOnRTC         = 6;                { . . . . . . . Run-Time Conference }
  124.   UserOnNewUser     = 7;                { . . . . . . . . .  New user logon }
  125.   UserOnStatDesc    = 255;              { . . . . . . . . . Display StatSec }
  126.  
  127.  
  128.   { USERONrecord.Attribute (USERON.BBS is in the system directory)          }
  129.  
  130.   UserOnHidden      = $01; { -------1 } { . . . . Do not show in user-lists }
  131.   UserOnWantsChat   = $02; { ------1- } { .  Has previously paged the sysop }
  132.   UserOnReserved    = $04; { -----1-- } { . . . .  Reserved by RemoteAccess }
  133.   UserOnDoNotDisturb= $08; { ----1--- } { . . . Do not send online messages }
  134.   UserOnReady       = $40; { -1------ } { . . . . . . . . . . . . . . Ready }
  135.  
  136.  
  137. TYPE
  138.  
  139.   { Pointers not defined in STRUCT.xxx }
  140.  
  141.   pLastCallRecord = ^LastCallRecord;
  142.  
  143.   pRAConfig   = ^ConfigRecord;
  144.   pRAExitInfo = ^ExitInfoRecord;
  145.   pRASysInfo  = ^SysInfoRecord;
  146.  
  147.  
  148. CONST
  149.  
  150.   RAEnvVar       : pChar = NIL;         { Pointer to RA enviroment variable }
  151.  
  152.   RAConfigPath   : pChar = NIL;         { Full path to CONFIG.RA            }
  153.   RALastCallPath : pChar = NIL;         { Full path to LASTCALL.BBS         }
  154.   RASysInfoPath  : pChar = NIL;         { Full path to SYSINFO.BBS          }
  155.   RAUserBasePath : pChar = NIL;         { Full path to USERS.BBS            }
  156.   RAUserOnPath   : pChar = NIL;         { Full path to USERON.BBS           }
  157.  
  158.  
  159. VAR  { SysInfo Fields }
  160.  
  161.   RALastCaller : MsgToIdxRecord;
  162.   RATotalCalls : LongInt;
  163.   {$IFNDEF RA202}
  164.   RALastHandle : MsgToIdxRecord;
  165.   {$ENDIF}
  166.  
  167.  
  168. {#Start}
  169.  
  170. PROCEDURE LoadRAConfig(VAR p:pRAConfig);
  171.   {
  172.   PURPOSE  : Loads CONFIG.RA.
  173.  
  174.   NOTES    : Automatically allocates memory if the pointer is NIL.  Be sure
  175.              to check for this.
  176.  
  177.   SEE ALSO : LoadRASysInfo
  178.   }
  179.  
  180.  
  181. PROCEDURE LoadRASysInfo(VAR SysInfo:SysInfoRecord);
  182.   {
  183.   PURPOSE  : Loads SYSINFO.BBS from the system directory.
  184.  
  185.   SEE ALSO : LoadRAConfig
  186.   }
  187.  
  188.  
  189. PROCEDURE RegisterRASysInfo;
  190.   {
  191.   PURPOSE  : Registers the SYSINFO.BBS information with Concerto.
  192.  
  193.   NOTES    : The fields of the SYSINFO.BBS record are saved as separate
  194.              variables in a VAR section (see above).
  195.   }
  196.  
  197.  
  198. IMPLEMENTATION
  199.  
  200. { The source code is available upon registration. }
  201.  
  202. END.
  203.